package com.lq.fragment; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.util.Log; import android.view.ContextThemeWrapper; import com.lq.activity.MainContentActivity; import com.lq.xpressmusic.R; /** * @author lq 2013-6-1 lq2625304@gmail.com * */ public class PromptDialogFragment extends DialogFragment { private final String TAG = this.getClass().getSimpleName(); private static final String TITLE = "title"; MainContentActivity mMainActivity = null; DialogInterface.OnClickListener mListener = null; /** * 生成PromptDialogFragment的实例 * * @param title * 提示对话框的标题 * @param positiveButtonClickListener * 确认按钮的监听器 */ public static PromptDialogFragment newInstance(String title, DialogInterface.OnClickListener positiveButtonClickListener) { PromptDialogFragment f = new PromptDialogFragment(); f.setOnPositiveButtonClickedListener(positiveButtonClickListener); Bundle args = new Bundle(); args.putString(TITLE, title); f.setArguments(args); return f; } public void setOnPositiveButtonClickedListener( DialogInterface.OnClickListener positiveButtonClickListener) { mListener = positiveButtonClickListener; } @Override public void onAttach(Activity activity) { Log.i(TAG, "onAttach"); super.onAttach(activity); if (activity instanceof MainContentActivity) { mMainActivity = (MainContentActivity) activity; } } @Override public void onCreate(Bundle savedInstanceState) { Log.i(TAG, "onCreate"); super.onCreate(savedInstanceState); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Log.i(TAG, "onCreateDialog"); String title = ""; if (getArguments() != null) { title = getArguments().getString(TITLE); } ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), android.R.style.Theme_Dialog); return new AlertDialog.Builder(context) .setTitle(title) .setPositiveButton(R.string.confirm, mListener) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dismiss(); } }).create(); } @Override public void onDestroy() { Log.i(TAG, "onDestroy"); super.onDestroy(); mListener = null; } }